#ifndef QILITHEMEAPPLIER_H
#define QILITHEMEAPPLIER_H

#include "QiliSettings.h"

#include <QObject>

class QPalette;
class QStyleHints;
class QApplication;
class QiliSettings;

class QiliThemeApplier : public QObject
{
    Q_OBJECT
public:
    explicit QiliThemeApplier(QApplication *app, QiliSettings *settings);

    void apply();

    QiliSettings::ColorMode colorMode() const;

signals:

private slots:
    void handleColorSchemeChanged(Qt::ColorScheme scheme);

private:
    QiliSettings::ColorMode detect();

    QApplication  *mApp;
    QiliSettings  *mSettings;
    QStyleHints   *mStyleHints;
    QiliSettings::ColorMode mColorMode;
};

#endif // QILITHEMEAPPLIER_H
